package model

type JoyImg struct {
	JoyId     int
	JoyImgUrl string `gorm:"size:255;default:''"`
	JoyCount  int    `gorm:"default:0"`
	JoyClass  string `gorm:"size:255;default:''"`
}

func (m *defaultUserModel) ListJoyImg(pagenum int, pagesize int) ([]*JoyImg, error) {
	var joyImgs []*JoyImg
	err := m.db.Limit(pagesize).Offset((pagenum - 1) * pagesize).Find(&joyImgs).Error
	if err != nil {
		return nil, err
	}
	return joyImgs, nil
}

func (m *defaultUserModel) GetJoyInfo(id int) (*JoyImg, error) {
	var joyImg JoyImg
	err := m.db.Where("joy_id = ?", id).First(&joyImg).Error
	if err != nil {
		return nil, err
	}
	return &joyImg, nil
}

func (m *defaultUserModel) UpdateJoyInfo(id int, joyName string, joyTitle string, joyid int) (*JoyImg, error) {
	joyimg, err := m.GetJoyInfo(joyid)
	if err != nil {
		return nil, err
	}
	joyimgurl := joyimg.JoyImgUrl
	// err  = m.db.Model(&User).Where("joy_id = ?", id).Update("joy_name", joyName).Update("joy_title", joyTitle).Error
	err = m.db.Model(&User{}).Where("id = ?", id).Update("joy_name", joyName).Update("joy_title", joyTitle).Update("joy_img", joyimgurl).Error
	if err != nil {
		return nil, err
	}
	return joyimg, nil
}
